home *** CD-ROM | disk | FTP | other *** search
- //---------------------------------------------------------------------------
-
- #include <vcl.h>
- #pragma hdrstop
-
- #include "Main.h"
- #include "Info.h"
- #include "CueList.h"
- #include "Convert.h"
- #include "Devices.h"
- #include "Setup.h"
- #include "Vox.h"
- #include "Raw.h"
- #include "About.h"
- //---------------------------------------------------------------------------
- #pragma package(smart_init)
- #pragma link "NCTAUDIOEDITOR2Lib_OCX"
- #pragma resource "*.dfm"
- TfrmMain *frmMain;
- //---------------------------------------------------------------------------
- __fastcall TfrmMain::TfrmMain(TComponent* Owner)
- : TForm(Owner)
- {
- }
- //---------------------------------------------------------------------------
- void __fastcall TfrmMain::btnOpenClick(TObject *Sender)
- {
- if (OpenDialog1->Execute()){
- if (ExtractFileExt(OpenDialog1->FileName).LowerCase() == ".vox") frmVox->ShowModal();
- if (ExtractFileExt(OpenDialog1->FileName).LowerCase() == ".raw" || ExtractFileExt(OpenDialog1->FileName).LowerCase() == ".pcm") frmRaw->ShowModal();
- AudioEditor1->Open(StringToOleStr(OpenDialog1->FileName),DEFAULT);
- SetParam();
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TfrmMain::btnContinueClick(TObject *Sender)
- {
- AudioEditor1->Continue();
- }
- //---------------------------------------------------------------------------
- void __fastcall TfrmMain::btnPauseClick(TObject *Sender)
- {
- AudioEditor1->Pause();
- }
- //---------------------------------------------------------------------------
- void __fastcall TfrmMain::btnZoomFullClick(TObject *Sender)
- {
- AudioEditor1->ZoomFull();
- }
- //---------------------------------------------------------------------------
- void __fastcall TfrmMain::btnRecordClick(TObject *Sender)
- {
- AudioEditor1->Record(RECORD_MIX);
- }
- //---------------------------------------------------------------------------
- void __fastcall TfrmMain::btnStopClick(TObject *Sender)
- {
- AudioEditor1->Stop();
- }
- //---------------------------------------------------------------------------
- void __fastcall TfrmMain::btnPlayClick(TObject *Sender)
- {
- AudioEditor1->Play(NORMALPLAY);
- }
- //---------------------------------------------------------------------------
- void __fastcall TfrmMain::btnPlayEndClick(TObject *Sender)
- {
- AudioEditor1->Play(PLAYTOEND);
- }
- //---------------------------------------------------------------------------
- void __fastcall TfrmMain::btnPlayLoopClick(TObject *Sender)
- {
- AudioEditor1->Play(PLAYLOOPED);
- }
- //---------------------------------------------------------------------------
- void __fastcall TfrmMain::btnUndoClick(TObject *Sender)
- {
- AudioEditor1->Undo();
- }
- //---------------------------------------------------------------------------
- void __fastcall TfrmMain::btnRedoClick(TObject *Sender)
- {
- AudioEditor1->Redo();
- }
- //---------------------------------------------------------------------------
- void __fastcall TfrmMain::btnCopyClick(TObject *Sender)
- {
- AudioEditor1->Copy();
- }
- //---------------------------------------------------------------------------
- void __fastcall TfrmMain::btnCutClick(TObject *Sender)
- {
- AudioEditor1->Cut();
- }
- //---------------------------------------------------------------------------
- void __fastcall TfrmMain::btnPasteClick(TObject *Sender)
- {
- AudioEditor1->Paste();
- }
- //---------------------------------------------------------------------------
- void __fastcall TfrmMain::btnPasteMixClick(TObject *Sender)
- {
- AudioEditor1->Mix(50,50);
- }
- //---------------------------------------------------------------------------
- void __fastcall TfrmMain::btnNewClick(TObject *Sender)
- {
- AudioEditor1->New(FQ_44_KHZ, STEREO);
- }
- //---------------------------------------------------------------------------
- void __fastcall TfrmMain::btnSaveClick(TObject *Sender)
- {
- if (SaveDialog1->Execute()){
- if (SaveDialog1->FilterIndex == 1) AudioEditor1->FileFormat->SetFormatFromMenu();
- AudioEditor1->Save(StringToOleStr(SaveDialog1->FileName),false,DEFAULT);
- OpenDialog1->FileName = SaveDialog1->FileName;
- SetParam();
- }
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::btnZoomInClick(TObject *Sender)
- {
- AudioEditor1->ZoomIn();
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::btnZoomOutClick(TObject *Sender)
- {
- AudioEditor1->ZoomOut();
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::AudioEditor1Meter(TObject *Sender, long LevelLeft, long LevelRight)
- {
- ProgressBar1->Position = LevelLeft;
- ProgressBar2->Position = LevelRight;
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::AudioEditor1ScaleXClick(TObject *Sender)
- {
- ShowMessage("Click Scale X");
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::AudioEditor1ScaleYClick(TObject *Sender)
- {
- ShowMessage("Click Scale Y");
- }
- //---------------------------------------------------------------------------
-
- void TfrmMain::SetPosition(void)
- {
- StatusBar1->Panels->Items[3]->Text = AudioEditor1->Position->StartView;
- StatusBar1->Panels->Items[4]->Text = AudioEditor1->Position->EndView;
-
- StatusBar1->Panels->Items[5]->Text = AudioEditor1->Position->StartSelect;
- StatusBar1->Panels->Items[6]->Text = AudioEditor1->Position->EndSelect;
- StatusBar1->Refresh();
- }
- //---------------------------------------------------------------------------
-
- void TfrmMain::SetParam(void)
- {
- StatusBar1->Panels->Items[0]->Text = OpenDialog1->FileName;
- StatusBar1->Panels->Items[1]->Text = AudioEditor1->FileInfo->FormatString;
- StatusBar1->Panels->Items[2]->Text = AudioEditor1->Position->TotalSamples;
- ProgressBar1->Position = 0;
- ProgressBar2->Position = 0;
- SetPosition();
- }
- //---------------------------------------------------------------------------
- void __fastcall TfrmMain::FormShow(TObject *Sender)
- {
- SetParam();
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::AudioEditor1ChangePosition(TObject *Sender)
- {
- SetPosition();
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::btnDelayClick(TObject *Sender)
- {
- AudioEditor1->Transform->Delay(120, 30, 10);
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::btnBPFClick(TObject *Sender)
- {
- AudioEditor1->Transform->BandPassFilter(AudioEditor1->FileInfo->Frequency / 100, 100);
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::btnVibratoClick(TObject *Sender)
- {
- AudioEditor1->Transform->Vibrato(25, 3, 0);
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::btnLSFClick(TObject *Sender)
- {
- AudioEditor1->Transform->LowShelfFilter(AudioEditor1->FileInfo->Frequency / 200, -10, 100);
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::btnLPFClick(TObject *Sender)
- {
- AudioEditor1->Transform->LowPassFilter(AudioEditor1->FileInfo->Frequency / 50, 50);
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::btnHSFClick(TObject *Sender)
- {
- AudioEditor1->Transform->HighShelfFilter(AudioEditor1->FileInfo->Frequency / 100, -10, 100);
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::btnHPFClick(TObject *Sender)
- {
- AudioEditor1->Transform->HighPassFilter(AudioEditor1->FileInfo->Frequency / 100, 100);
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::btnInserSilenceClick(TObject *Sender)
- {
- AudioEditor1->Transform->InsertSilence(343);
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::btnNFClick(TObject *Sender)
- {
- AudioEditor1->Transform->NotchFilter(50, 100);
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::btnFlangerClick(TObject *Sender)
- {
- AudioEditor1->Transform->Flanger(50, 30, 10, 50, 5, 0);
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::btnAmplifyMinusClick(TObject *Sender)
- {
- AudioEditor1->Transform->Amplify(60);
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::btnAmplifyPlusClick(TObject *Sender)
- {
- AudioEditor1->Transform->Amplify(140);
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::btnDeleteSilenceClick(TObject *Sender)
- {
- AudioEditor1->Transform->Silence();
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::btnInvertClick(TObject *Sender)
- {
- AudioEditor1->Transform->Invert();
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::btnFadeOutClick(TObject *Sender)
- {
- AudioEditor1->Transform->Fade(100, 0);
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::btnFadeInClick(TObject *Sender)
- {
- AudioEditor1->Transform->Fade(0, 100);
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::btnNormalizeClick(TObject *Sender)
- {
- AudioEditor1->Transform->Normalize(80, true);
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::btnFFTClick(TObject *Sender)
- {
- PSafeArray FFT;
- float kBass = -0.5;
- float kTreble = 0.5;
- float *pFFT;
-
- FFT = SafeArrayCreateVector(VT_R4,0,512);
- pFFT = (float*)FFT->pvData;
-
- for (int i = 0; i< 512; i++) pFFT[i] = 1;
- for (int i = 0; i< 100; i++) pFFT[i] = pFFT[i] + (1 - i / 100) * kBass;
- for (int i = 100; i<512; i++) pFFT[i] = pFFT[i] + ((i - 100) / 411) * kTreble;
-
- AudioEditor1->Transform->FFTFilter(&FFT);
- SafeArrayDestroy(FFT);
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::btnAGCClick(TObject *Sender)
- {
- AudioEditor1->Recorder->AGCEnabled = btnAGC->Down;
- }
- //---------------------------------------------------------------------------
-
-
- void __fastcall TfrmMain::mnuSaveSelectAsClick(TObject *Sender)
- {
- if (SaveDialog1->Execute()){
- if (SaveDialog1->FilterIndex == 1) AudioEditor1->FileFormat->SetFormatFromMenu();
- AudioEditor1->Save(StringToOleStr(SaveDialog1->FileName),true,DEFAULT);
- SetParam();
- }
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::mnuWaveFormViewClick(TObject *Sender)
- {
- AudioEditor1->TypeView = WAVEFORM;
- mnuWaveFormView->Checked = true;
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::mnuSpectralViewClick(TObject *Sender)
- {
- AudioEditor1->TypeView = SPECTRAL;
- mnuSpectralView->Checked = true;
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::mnuCopytoWindowsClipboardClick(TObject *Sender)
- {
- AudioEditor1->CopyToClipboard();
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::mnuPastefromWindowsClipboardClick(
- TObject *Sender)
- {
- AudioEditor1->PasteFromClipboard();
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::nmuPasteFromFileClick(TObject *Sender)
- {
- AnsiString fn = OpenDialog1->FileName;
- if (OpenDialog1->Execute()) AudioEditor1->PasteFromFile(StringToOleStr(OpenDialog1->FileName));
- OpenDialog1->FileName = fn;
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::mnuMixFromFileClick(TObject *Sender)
- {
- AnsiString fn = OpenDialog1->FileName;
- if (OpenDialog1->Execute()) AudioEditor1->MixFromFile(50,StringToOleStr(OpenDialog1->FileName),50);
- OpenDialog1->FileName = fn;
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::mnuExitClick(TObject *Sender)
- {
- Close();
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::mnuStretchPlusClick(TObject *Sender)
- {
- AudioEditor1->Transform->TimeStretch(120);
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::mnuStretchMinusClick(TObject *Sender)
- {
- AudioEditor1->Transform->TimeStretch(80);
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::btnLChannelClick(TObject *Sender)
- {
- AudioEditor1->Channels->Num = 1;
- AudioEditor1->Channels->Visible = btnLChannel->Down;
- AudioEditor1->Channels->Num = 2;
- AudioEditor1->Channels->Visible = btnRChannel->Down;
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::mnuInfoListClick(TObject *Sender)
- {
- frmInfo->ShowModal();
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::mnuMarkerListClick(TObject *Sender)
- {
- frmCueList->ShowModal();
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::mnuConvertSampleTypeClick(TObject *Sender)
- {
- frmConvert->ShowModal();
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::mnuInputDeviceClick(TObject *Sender)
- {
- frmDevices->Dev = frmMain->AudioEditor1->DeviceInput;
- frmDevices->srcCap = "Select";
- frmDevices->ShowModal();
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::mnuOutputDeviceClick(TObject *Sender)
- {
- frmDevices->Dev = frmMain->AudioEditor1->DeviceOutput;
- frmDevices->srcCap = "Mute";
- frmDevices->ShowModal();
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::btnOptionsClick(TObject *Sender)
- {
- frmOptions->ShowModal();
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::mnuAboutClick(TObject *Sender)
- {
- frmAbout->ShowModal();
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::AudioEditor1BlockOperation(TObject *Sender,
- short Percent)
- {
- ProgressBar1->Position = Percent;
- ProgressBar2->Position = Percent;
- }
- //---------------------------------------------------------------------------
-
- void __fastcall TfrmMain::AudioEditor1EndOperation(TObject *Sender)
- {
- ProgressBar1->Position = 0;
- ProgressBar2->Position = 0;
- }
- //---------------------------------------------------------------------------
-
-